/**
 * 登录拦截器
 */
import Util from '../service/Util';

module.exports = () => {
  return async function authLogin(ctx, next) {
    // 添加日志记录用户会话状态
    const userId = Util.getUserId(ctx);
    console.log(`[authLogin] 请求路径: ${ctx.request.url}, 用户ID: ${userId || '未登录'}, 请求头: ${JSON.stringify(ctx.request.header)}`);
    console.log(`[authLogin] Session内容: ${JSON.stringify(ctx.session)}`);
    console.log(`[authLogin] Cookie内容: ${ctx.request.header.cookie || '无cookie'}`);
    
    if (userId) {
      console.log(`[authLogin] 用户已登录，ID: ${userId}，允许访问`);
      return await next();
    }
    
    console.log(`[authLogin] 用户未登录，拒绝访问，返回403状态码`);
    ctx.status = 403;
    ctx.body = { code: 403, message: '用户未登录或会话已过期' };
  };
};
